iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Software Development

語言只是工具,遊走在需求和技術間的腦力激盪之旅系列 第 17

Day 17 - Case 3 :多個系統間溝通篇(需求評估與解決方法)

  • 分享至 

  • xImage
  •  

看完了前面的兩個case之後,今天分享的案例需求會轉換成開發者的角度去探討,接著會從事情的緣由到可能的做法來逐步說明與解析。

緣由

簡單來說就是不希望第三方的系統直接連資料庫做CRUD的動作,並且部分的系統並不能擁有刪除和操作特定表的權限,另外隨著時間會有越來越多系統使用此中心系統的資料庫。

因此在這樣的情況以及未來管理的考量下,就會有幾個面向比較最後比較選擇較適合的解決方法,接著就先以資料交換的可行技術初步檢視。

相關可行作法

在去年參賽時有提過ASP.NET Web 服務 (ASMX)的開發做法,但由於該做法比較廣泛應用的框架為.NET Framework,並且現在新系統的開發都會使用.NET Core(再過一陣子.NET 7即將推出),所以這個選項以當前開發的趨勢和未來的維運負擔較不推薦。

另外補充剛剛提到的新系統的開發框架選擇的部分,因為每個框架都會有生命週期,在查詢上可以輸入開發框架、考量的版本以及EOS(End of support)的關鍵字。

以.NET Core為例透過官方網站與下圖的截圖為例,Supported versions的項目為當前TLS的資訊,所以如果以現在的時間點選定.NET Core 3.1的版本,就需要留意在今年年底就會End of Support,所以如果會留意框架的安全性更新,就可以考慮直接使用.NET 6做開發。
Imgur

另外補充如果應用程式需要Migrate到.NET 6的版本,可以到微軟的官方文件查找關於框架版本升級的參考資訊

除了上述提到的.NET的框架可以應用開發外,基本上其他的程式語言都會有相對應可使用的框架,像是Node.js可以使用Express.js的框架、Python可以使用Flask、Django REST、FastAPI等框架開發,除了上述提到的之外還有非常多的選擇。

選擇上的考量可以視當前的需求或者是開發時程,選擇自己熟悉或者開發的學習曲線較平緩的程式語言與框架,而在接下來的解法與相關應用則會以.NET 6說明。

What is .NET 6?

接著就直接切入重點,確認當前的解決方法為開發Web Api,首先簡單介紹一下.NET 6的背景以及相關可以參考的資訊,從下圖可以看到的是目前應用.NET開發的版本支援主要是.NET 6的版本(LTS版本支援的生命週期為三年左右)。
Imgur

另外如果要使用.NET 6進行開發,需要先安裝該版本的SDK參考資源,並且依照當前的開發工具確認環境的設定與需要額外留意的事項,以下兩個資源分別為Visual Studio Code 與Visual Studio應用.NET 6的開發操作介紹。

今天的內容先需求帶到最後使用的技術解法(Web Api with use .NET 6 Framework),而在接下來的幾天會進一步分享.NET 6開發Web Api的過程,以及延伸使用的套件與開發規範的資訊分享。


上一篇
Day 16 - Case 2 :Task管理開發成果與知識管理整合(Jira & Confluence)
下一篇
Day 18 - Case 3 :Web Api開發起手式(.NET 6 Web Api)
系列文
語言只是工具,遊走在需求和技術間的腦力激盪之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言